$(function() {
    
    showWelcome();
    
    $('#login').click(function() {
        var username = $('#username').val();
        var password = $('#password').val();
        login(username, password);
        
        return false;
    });
    
    $("#username, #password").keyup(function (e) {
        if (e.keyCode == 13) {
            var username = $('#username').val();
            var password = $('#password').val();
            login(username, password);
        }
    });
    
    $('#logout').click(function() {
        $.cookies.del('user');
        location.reload();
        
        return false;
    });
});

function showWelcome() {
    if($.cookies.get('user') !== null) {
        var user = $.cookies.get('user');
        var welcome = 'Welcome, ' + '<a href="account.html">' + user.firstName + ' ' + user.lastName + '</a> ' +
                        '<a href="#" id="logout" class="logout">[Logout]</a>';
        $('#login-form fieldset').html(welcome);
    }    
}

function login(username, password) {
    $.get('data/users.xml', function(data) {
        $(data).find('user').each(function(){
            if($(this).find('username').text() == username && $(this).find('password').text() == $.md5(password)) {
                var user = new Object();
                user.id = $(this).attr('id');
                user.type = $(this).attr('type');
                user.username = $(this).find('username').text();
                user.password = $(this).find('password').text();
                user.firstName = $(this).find('firstName').text();
                user.lastName = $(this).find('lastName').text();
                user.gender = $(this).find('gender').text();
                user.dob = $(this).find('dob').text();
                user.email = $(this).find('email').text();
                user.address = $(this).find('address').text();
                $.cookies.set('user', JSON.stringify(user));
                location.reload();
                
                return false;
            }
        });
    }, 'xml');
}